home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / OverlayLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.3 KB  |  130 lines

  1. package javax.swing;
  2.  
  3. import java.awt.AWTError;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Insets;
  8. import java.awt.LayoutManager2;
  9. import java.io.Serializable;
  10.  
  11. public class OverlayLayout implements LayoutManager2, Serializable {
  12.    private Container target;
  13.    private SizeRequirements[] xChildren;
  14.    private SizeRequirements[] yChildren;
  15.    private SizeRequirements xTotal;
  16.    private SizeRequirements yTotal;
  17.  
  18.    public OverlayLayout(Container var1) {
  19.       this.target = var1;
  20.    }
  21.  
  22.    public void addLayoutComponent(Component var1, Object var2) {
  23.    }
  24.  
  25.    public void addLayoutComponent(String var1, Component var2) {
  26.    }
  27.  
  28.    void checkContainer(Container var1) {
  29.       if (this.target != var1) {
  30.          throw new AWTError("OverlayLayout can't be shared");
  31.       }
  32.    }
  33.  
  34.    void checkRequests() {
  35.       if (this.xChildren == null || this.yChildren == null) {
  36.          int var1 = this.target.getComponentCount();
  37.          this.xChildren = new SizeRequirements[var1];
  38.          this.yChildren = new SizeRequirements[var1];
  39.  
  40.          for(int var2 = 0; var2 < var1; ++var2) {
  41.             Component var3 = this.target.getComponent(var2);
  42.             Dimension var4 = var3.getMinimumSize();
  43.             Dimension var5 = var3.getPreferredSize();
  44.             Dimension var6 = var3.getMaximumSize();
  45.             this.xChildren[var2] = new SizeRequirements(var4.width, var5.width, var6.width, var3.getAlignmentX());
  46.             this.yChildren[var2] = new SizeRequirements(var4.height, var5.height, var6.height, var3.getAlignmentY());
  47.          }
  48.  
  49.          this.xTotal = SizeRequirements.getAlignedSizeRequirements(this.xChildren);
  50.          this.yTotal = SizeRequirements.getAlignedSizeRequirements(this.yChildren);
  51.       }
  52.  
  53.    }
  54.  
  55.    public float getLayoutAlignmentX(Container var1) {
  56.       this.checkContainer(var1);
  57.       this.checkRequests();
  58.       return this.xTotal.alignment;
  59.    }
  60.  
  61.    public float getLayoutAlignmentY(Container var1) {
  62.       this.checkContainer(var1);
  63.       this.checkRequests();
  64.       return this.yTotal.alignment;
  65.    }
  66.  
  67.    public void invalidateLayout(Container var1) {
  68.       this.checkContainer(var1);
  69.       this.xChildren = null;
  70.       this.yChildren = null;
  71.       this.xTotal = null;
  72.       this.yTotal = null;
  73.    }
  74.  
  75.    public void layoutContainer(Container var1) {
  76.       this.checkContainer(var1);
  77.       this.checkRequests();
  78.       int var2 = var1.getComponentCount();
  79.       int[] var3 = new int[var2];
  80.       int[] var4 = new int[var2];
  81.       int[] var5 = new int[var2];
  82.       int[] var6 = new int[var2];
  83.       Dimension var7 = ((Component)var1).getSize();
  84.       Insets var8 = var1.getInsets();
  85.       var7.width -= var8.left + var8.right;
  86.       var7.height -= var8.top + var8.bottom;
  87.       SizeRequirements.calculateAlignedPositions(var7.width, this.xTotal, this.xChildren, var3, var4);
  88.       SizeRequirements.calculateAlignedPositions(var7.height, this.yTotal, this.yChildren, var5, var6);
  89.  
  90.       for(int var9 = 0; var9 < var2; ++var9) {
  91.          Component var10 = var1.getComponent(var9);
  92.          var10.setBounds(var8.left + var3[var9], var8.top + var5[var9], var4[var9], var6[var9]);
  93.       }
  94.  
  95.    }
  96.  
  97.    public Dimension maximumLayoutSize(Container var1) {
  98.       this.checkContainer(var1);
  99.       this.checkRequests();
  100.       Dimension var2 = new Dimension(this.xTotal.maximum, this.yTotal.maximum);
  101.       Insets var3 = var1.getInsets();
  102.       var2.width += var3.left + var3.right;
  103.       var2.height += var3.top + var3.bottom;
  104.       return var2;
  105.    }
  106.  
  107.    public Dimension minimumLayoutSize(Container var1) {
  108.       this.checkContainer(var1);
  109.       this.checkRequests();
  110.       Dimension var2 = new Dimension(this.xTotal.minimum, this.yTotal.minimum);
  111.       Insets var3 = var1.getInsets();
  112.       var2.width += var3.left + var3.right;
  113.       var2.height += var3.top + var3.bottom;
  114.       return var2;
  115.    }
  116.  
  117.    public Dimension preferredLayoutSize(Container var1) {
  118.       this.checkContainer(var1);
  119.       this.checkRequests();
  120.       Dimension var2 = new Dimension(this.xTotal.preferred, this.yTotal.preferred);
  121.       Insets var3 = var1.getInsets();
  122.       var2.width += var3.left + var3.right;
  123.       var2.height += var3.top + var3.bottom;
  124.       return var2;
  125.    }
  126.  
  127.    public void removeLayoutComponent(Component var1) {
  128.    }
  129. }
  130.